1. Field of the Invention
The present invention is directed toward the field of displaying data on a computer display, and more particularly to optimizing the display of data for a computer generated form.
2. Art Background
For certain applications, computers generate forms and spreadsheets for display on an output display. The forms and spreadsheets are used in a variety of applications to communicate information that relates to the underlying applications program. Typically, the information is arranged in fields on the form or spreadsheet to partition or organize the data. For example, a spreadsheet contains rows and columns that form a matrix. Each row indicates a record or an entry, and each column represents a particular calculation or category for one or more of the records. For example, each record may identify a customer, and each column may identify a particular attribute of the customer.
FIG. 1 illustrates an example computer generated form for output on a computer display. As shown in FIG. 1, the spreadsheet is partitioned into a number of rows and columns. The example spreadsheet shown in FIG. 1 displays information for a customer order system. As shown in the example spreadsheet in FIG. 1, each row corresponds to a customer (e.g. "Alpha", "Beta", "Charlie", "Delta", etc.). Each column includes a specific attribute about the customer in the corresponding row. For this example, the columns indicate "Order Handling Instructions", "Customer Status", "Accounts Receivable", and "Orders Placed." A field or cell is formed at the intersection of each row and column. The field displays data corresponding to the attribute of the column and the record of the row. The matrix of columns and rows in the spreadsheet provides a convenient form for displaying customer order information about a number of different customers.
Typically, the computer generated forms and spreadsheets include static field sizes in that a designer of the form sets specific widths and heights for the fields. This static approach requires the designer of the form to anticipate the amount of data to accommodate display of the data in the fixed sized field. As shown in FIG. 1, the column labeled "Order Handling Instructions" contains text that does not fully render within the field. For example, for the "Alpha" entry field of the "Order Handling Instructions" column, the text "Send immediate notification as to whether item ordered is currently in stock" does not completely fit in the predefined field size. To display all of the characters in the fixed size field, a designer must know the length of the text for the record in order to successfully display all of the text without obstruction. Furthermore, although a screen designer may successfully anticipate the size of each field when the text is displayed in English (e.g. the fields contain English text and widgets of predefined sizes), translation to a different language results in different sized text. For example, translation of the example spreadsheet shown in FIG. 1 to German requires different fields to completely view the text in German.
Currently, forms and spreadsheets attempt to overcome the field sizing problem through use of a scrollbar. For these spreadsheets, a scrollbar permits a user to scroll a field, in either a vertical or horizontal direction, to display additional text or graphics in the field. For the example spreadsheet shown in FIG. 1, a scrollbar may be provided to scroll in a horizontal direction to permit a user to read the entire text field. Although the scrollbars provide a means for a user to read an entire field, it requires the user, through use of a cursor control device, to select a field or cell, and to execute the scroll function by moving the scroll bar.
Other computer generated forms and spreadsheets permit resizing of a field by permitting a user to drag vertical or horizontal bars, which delineate adjacent fields, to extend the size of the field. Through use of the dragging technique, a user may resize one or more columns or rows to optimize a currently displayed screen. However, as the user scrolls through the form to display different rows, the size of the fields in the new rows of the form may not be optimal. Also, both methods discussed above are flawed because a user may not even realize that the full content of a cell is not visible. Therefore, it is desirable to provide a mechanism to optimize the sizing of fields for a form or spreadsheet that both maximizes the viewing of information on the form and requires minimal user interaction.